Automated marketing campaigns may involve one or more computers controlling campaign activities directed to groups of existing and/or prospective customers. Typically, a company engages in a marketing campaign as a way of communicating specific business messages. For simplicity, all the recipients of such marketing messages will here be referred to as customers, whether or not they have an existing customer relationship with the company. The messages usually can be anything from a pure advertisement to a direct offer, which the customer may accept. Frequently, the company running a marketing campaign seeks an initial response from a customer to gauge interest in the subject of the campaign, and then intends to use the response in directing further campaign activities toward that customer.
In essence, running a marketing campaign consists of deciding which customers (i.e., which target group) should receive what offer (or communication) and thereafter executing the campaign accordingly. It is necessary to decide which customers to include in the campaign and which to leave out. Moreover, it must be decided which campaign activities should be performed in the campaign—and to which individual customers—and which campaign activities should not be used.
In addition, companies are often interested in trying to predict the outcome of a marketing campaign before it is carried out. Software programs have therefore been developed that use statistical relations and probabilities as a way of estimating what may be the results of the marketing campaign in terms of response rate, revenue, net profit, etc. In other words, such a program may assign a particular target group to a certain campaign activity and try to predict the outcome of actually executing that campaign activity toward the target group.
Target groups, however, can be very large_on the order of several hundred thousands, or millions, of customers or more. It follows that even with a modest number of alternative campaign activities, there may be a great number of possible combinations of customer-activity assignments. It would be easy to simply assign the customers to marketing activities at random, but this approach is not very likely to result in optimum results for the marketing campaign.
One suggested way of optimizing the assignment of customers to campaign activities is the sometimes-called “Greedy” approach. This involves assigning the customers one at a time, and for each new assignment calculating the effect on the predicted result of the marketing campaign. Assume that using this process, 1,000 customers have already been assigned to four campaign activities. That is, each of the 1,000 customers presently is assigned to one of the four campaign activities. The Greedy approach then prescribes that the 1,001st customer should be assigned to that campaign activity that will most increase the predicted result of the campaign. The Greedy approach determines the predicted effects of assigning the 1,001 st customer to each of the four campaign activities and thereafter selects the best one. This process is repeated for the 1,002nd customer, and so on. The Greedy approach stops when it cannot improve the predicted results without ignoring a constraint on the marketing campaign.
There are, however, drawbacks with applying the Greedy approach by itself. The Greedy approach is likely to find some maximum in the predicted campaign result, because it continues to assign the customers until it cannot improve the predicted result any further. But this maximum may be only a “local” maximum, that is, it may be greater than what is predicted for all similar customer-activity assignments, but it may be less than a “global” maximum that is the best possible results than can be predicted given the particular set of customers and activities. And because the Greedy approach always moves toward increased predicted results, it may be incapable of “leaving” a local maximum, because any change in the locally optimal-customer-activity assignments may lead to a decrease in the predicted value.
It has been attempted to overcome some of these disadvantages, for example by using what is sometimes referred to as a “Taboo” search. In order to have the algorithm depart from a local maximum it has identified, it becomes necessary to allow a decrease in the goal value. A Taboo search typically records 20 or so of the most recent assignments of customers to marketing activities in a Taboo list. As long as an assignment is on the Taboo list, the Taboo search will not try that assignment again. This arrangement is used with the expectation or hope that the Taboo search will not revert to a previously visited local maximum, because the most recent assignments are “off limits” as long as they remain on the Taboo list.
But also the Taboo search may have disadvantages. Despite the use of the Taboo list, it is possible that the search algorithm will return to a previously visited local maximum, because the previous assignments are only blocked off temporarily. Revisiting an earlier local maximum does not bring the Taboo search any closer to the optimal result; rather, the search may exhibit a circular pattern of repeatedly identifying the same local maximum. The fact that the Taboo search has some tendency to return back to previous local maxima affects its ability to efficiently and quickly locate an overall, global, maximum.